Micron Document
`:top
A `!browser engine`! (also known as a `!layout engine`! or `!rendering engine`!) is a core `F33f`_`[software component`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Software_component]`_`f of every major `F33f`_`[web browser`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Web_browser]`_`f. The primary job of a browser engine is to transform `F33f`_`[HTML`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=HTML]`_`f documents and other resources of a `F33f`_`[web page`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Web_page]`_`f into an interactive visual representation on a `F33f`_`[user`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=User_(computing)]`_`f's device.

>>Contents

• `F0af`_`[Name and scope`#name-and-scope]`_`f
• `F0af`_`[Layout and rendering`#layout-and-rendering]`_`f
• `F0af`_`[Notable engines`#notable-engines]`_`f
• `F0af`_`[See also`#see-also]`_`f
• `F0af`_`[References`#references]`_`f

-─

>>Name and scope

Besides "browser `F33f`_`[engine`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Software_engine]`_`f", two other related terms are commonly used: "layout engine" and "rendering engine".`:cite-ref-behindscene-1-0[`F5bf`_`[1`#cite-note-behindscene-1]`_`f]`:cite-ref-gecko-2-0[`F5bf`_`[2`#cite-note-gecko-2]`_`f]`:cite-ref-goanna-3-0[`F5bf`_`[3`#cite-note-goanna-3]`_`f] In theory, `F33f`_`[layout`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Layout_(computing)]`_`f and `F33f`_`[rendering`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Rendering_(computer_graphics)]`_`f (or "painting") could be handled by different engines. In practice, however, these `F33f`_`[components`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Software_component]`_`f are tightly `F33f`_`[coupled`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Coupling_(computer_programming)]`_`f and rarely encountered on their own outside of the browser engine.`:cite-ref-behindscene-1-1[`F5bf`_`[1`#cite-note-behindscene-1]`_`f]`:cite-ref-howblinkworks-4-0[`F5bf`_`[4`#cite-note-howblinkworks-4]`_`f]

In addition to layout and rendering, a browser engine enforces the `F33f`_`[security policy`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Content_Security_Policy]`_`f between documents, handles navigation through `F33f`_`[hyperlinks`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Hyperlink]`_`f and data submitted through `F33f`_`[forms`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Form_(HTML)]`_`f, and implements the `F33f`_`[document object model`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Document_Object_Model]`_`f (DOM) exposed to `F33f`_`[scripts`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Scripting_language]`_`f associated with the document.`:cite-ref-behindscene-1-2[`F5bf`_`[1`#cite-note-behindscene-1]`_`f]`:cite-ref-howblinkworks-4-1[`F5bf`_`[4`#cite-note-howblinkworks-4]`_`f]

To provide a `F33f`_`[wide range`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=JavaScript]`_`f of dynamic behavior for `F33f`_`[web pages`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Web_page]`_`f, every major browser supports `F33f`_`[JavaScript`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=JavaScript]`_`f. However, JavaScript is `F33f`_`[implemented`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Programming_language_implementation]`_`f as a separate `F33f`_`[JavaScript engine`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=JavaScript_engine]`_`f, which has enabled its usage `F33f`_`[elsewhere`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=JavaScript]`_`f. In a browser, the two engines are coordinated via the DOM and `F33f`_`[Web IDL`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Web_IDL]`_`f bindings.`:cite-ref-howblinkworks-4-2[`F5bf`_`[4`#cite-note-howblinkworks-4]`_`f]

Browser engines are also used in non-browser `F33f`_`[applications`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Application_software]`_`f. An `F33f`_`[email client`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Email_client]`_`f needs one to display `F33f`_`[HTML email`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=HTML_email]`_`f. Beginning in the 2010s, many apps have been created with `F33f`_`[the frameworks`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Chromium_(web_browser)]`_`f based on `F33f`_`[Google`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Google]`_`f's `F33f`_`[Chromium`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Chromium_(web_browser)]`_`f project; each of these standalone apps functions much like a `F33f`_`[web app`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Web_application]`_`f. (Two examples are `F33f`_`[Spotify`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Spotify]`_`f and `F33f`_`[Slack`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Slack_(software)]`_`f.)`:cite-ref-5[`F5bf`_`[5`#cite-note-5]`_`f]`:cite-ref-6[`F5bf`_`[6`#cite-note-6]`_`f]

>>Layout and rendering

The `F33f`_`[layout`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Layout_(computing)]`_`f of a `F33f`_`[web page`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Web_page]`_`f is typically specified by `F33f`_`[Cascading Style Sheets`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=CSS]`_`f (CSS). Each style sheet is a series of rules for how the page should be presented. For example, some rules specify `F33f`_`[typography`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Web_typography]`_`f details, such as `F33f`_`[font`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Font]`_`f, color, and text size, while others determine the placement of images. The engine combines all relevant CSS rules to calculate precise graphical coordinates for the visual representation it will paint on the screen.`:cite-ref-behindscene-1-3[`F5bf`_`[1`#cite-note-behindscene-1]`_`f]`:cite-ref-howblinkworks-4-3[`F5bf`_`[4`#cite-note-howblinkworks-4]`_`f]

Some engines may begin rendering before a page's resources are downloaded. This can result in visual changes as more data is received, such as images being gradually filled in or a `F33f`_`[flash of unstyled content`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Flash_of_unstyled_content]`_`f.`:cite-ref-7[`F5bf`_`[7`#cite-note-7]`_`f]

>>Notable engines

• `F33f`_`[Apple`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Apple_Inc.]`_`f created the `F33f`_`[WebKit`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=WebKit]`_`f engine for its `F33f`_`[Safari`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Safari_(web_browser)]`_`f browser by `F33f`_`[forking`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Fork_(software_development)]`_`f the `F33f`_`[KHTML`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=KHTML]`_`f engine of the `F33f`_`[KDE`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=KDE]`_`f project.`:cite-ref-8[`F5bf`_`[8`#cite-note-8]`_`f] Apple mandates that all browsers on `F33f`_`[iOS`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=IOS]`_`f must use WebKit as their engine.`:cite-ref-9[`F5bf`_`[9`#cite-note-9]`_`f] (In 2024, the mandate was removed for the `F33f`_`[European Union`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=European_Union]`_`f, but it is still enforced elsewhere.`:cite-ref-10[`F5bf`_`[10`#cite-note-10]`_`f])
• `F33f`_`[Google`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Google]`_`f originally used WebKit for its `F33f`_`[Chrome`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Google_Chrome]`_`f browser but eventually forked it to create the `F33f`_`[Blink`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Blink_(browser_engine)]`_`f engine.`:cite-ref-11[`F5bf`_`[11`#cite-note-11]`_`f] All `F33f`_`[Chromium`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Chromium_(web_browser)]`_`f-based browsers use Blink, as do `F33f`_`[applications`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Application_software]`_`f built with `F33f`_`[CEF`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Chromium_Embedded_Framework]`_`f, `F33f`_`[Electron`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Electron_(software_framework)]`_`f, or any other `F33f`_`[framework`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Software_framework]`_`f that embeds Chromium.
• `F33f`_`[Microsoft`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Microsoft]`_`f has two `F33f`_`[proprietary`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Proprietary_software]`_`f engines, `F33f`_`[Trident`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Trident_(software)]`_`f and `F33f`_`[EdgeHTML`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=EdgeHTML]`_`f. Trident, also called MSHTML, is used in the `F33f`_`[Internet Explorer`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Internet_Explorer]`_`f browser. EdgeHTML, being a fork of Trident, was the original engine of the Edge browser (now called `F33f`_`[Edge Legacy`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Edge_Legacy]`_`f); it's still found in some `F33f`_`[UWP apps`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Universal_Windows_Platform_apps]`_`f.`:cite-ref-12[`F5bf`_`[12`#cite-note-12]`_`f] The new, `F33f`_`[Chromium-based Edge`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Microsoft_Edge]`_`f was remade with the Blink engine.`:cite-ref-13[`F5bf`_`[13`#cite-note-13]`_`f]
• `F33f`_`[Mozilla`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Mozilla]`_`f develops the `F33f`_`[Gecko`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Gecko_(software)]`_`f engine for its `F33f`_`[Firefox`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Firefox]`_`f browser and the `F33f`_`[Thunderbird`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Mozilla_Thunderbird]`_`f email client.`:cite-ref-gecko-2-1[`F5bf`_`[2`#cite-note-gecko-2]`_`f]

The following chart shows the duration of active development (when relevant new `F33f`_`[web standards`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Web_standards]`_`f continue to be added) for each engine in this section. Note that Gecko, WebKit, and Blink are still actively developed.

>>See also

• `F33f`_`[Comparison of browser engines`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Comparison_of_browser_engines]`_`f

>>References

`:cite-note-behindscene-1`!1.`! `F0af`_`[↑`#cite-ref-behindscene-1-0]`_`f "Behind the scenes of modern web browsers". Tali Garsiel. Retrieved 21 April 2018.
`:cite-note-gecko-2`!2.`! `F0af`_`[↑`#cite-ref-gecko-2-0]`_`f "Gecko". Mozilla. Archived from the original on 4 June 2014. Retrieved 21 April 2018.
`:cite-note-goanna-3`!3.`! `F0af`_`[↑`#cite-ref-goanna-3-0]`_`f "Introducing Goanna". M.C. Straver. 22 June 2015. Retrieved 21 April 2018.
`:cite-note-howblinkworks-4`!4.`! `F0af`_`[↑`#cite-ref-howblinkworks-4-0]`_`f "How Blink Works". Retrieved 12 March 2024.
`:cite-note-5`!5.`! `F0af`_`[↑`#cite-ref-5]`_`f "Open Source - Spotify". Retrieved 1 December 2023. Here are the sources to the great Chromium Embedded Framework that is used by the Spotify Desktop client.
`:cite-note-6`!6.`! `F0af`_`[↑`#cite-ref-6]`_`f `:citerefbetts2016`aBetts, Anaïs (25 October 2016). "Building Hybrid Applications with Electron". `*Slack Engineering`*. Slack. Retrieved 1 December 2023.
`:cite-note-7`!7.`! `F0af`_`[↑`#cite-ref-7]`_`f `:citerefboudreaux2013`aBoudreaux, Ryan (18 October 2013). "How to prevent Flash of Unstyled Content on your websites". `*TechRepublic`*. Archived from the original on 5 March 2021. Retrieved 9 October 2021.
`:cite-note-8`!8.`! `F0af`_`[↑`#cite-ref-8]`_`f `:citerefpaul-festa2003`a`F33f`_`[Paul Festa`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Paul_Festa]`_`f (14 January 2003). "Apple snub stings Mozilla". `F33f`_`[CNET Networks`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=CNET_Networks]`_`f. Archived from the original on 25 October 2012. Retrieved 16 February 2017.
`:cite-note-9`!9.`! `F0af`_`[↑`#cite-ref-9]`_`f "Open-sourcing Chrome on iOS!". 2017. Retrieved 26 April 2021. Due to constraints of the iOS platform, all browsers must be built on top of the WebKit rendering engine.
`:cite-note-10`!10.`! `F0af`_`[↑`#cite-ref-10]`_`f `:citereftim-hardwick2024`aTim Hardwick (24 October 2024). "iOS 18.2 to Allow Third-Party Browser Web Apps With Custom Engines in EU". `*MacRumors`*.
`:cite-note-11`!11.`! `F0af`_`[↑`#cite-ref-11]`_`f `:citerefbright2013`aBright, Peter (3 April 2013). "Google going its way, forking WebKit rendering engine". `*`F33f`_`[Ars Technica`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Ars_Technica]`_`f`*. `F33f`_`[Conde Nast`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Conde_Nast]`_`f. Retrieved 9 March 2017.
`:cite-note-12`!12.`! `F0af`_`[↑`#cite-ref-12]`_`f `:citerefmendelevich2021`aMendelevich, Alan (14 May 2021). "You Think You Can Forget About the "Legacy" Microsoft Edge? Not So Fast!".
`:cite-note-13`!13.`! `F0af`_`[↑`#cite-ref-13]`_`f `:citerefmackie2018`aMackie, Kurt (10 December 2018). "Microsoft Edge Browser To Get New Rendering Engine but EdgeHTML Continues". `*Redmond Mag`*. Retrieved 21 December 2019.

`c`F0af`_`[↑ Back to top`#top]`_`f`a